import 'dart:typed_data';

import 'package:bluetooth_protocols_plugin/library.dart';
import 'package:bluetooth_protocols_plugin/src/base/message/public_instruction_message_base.dart';

// Huari指令
class HuariPublicInstructionMessage
    extends PublicInstructionMessageBase<HuariMessage> {
  @override
  HuariMessage get checkSafeConnectionResultIntrMsg =>
      throw UnimplementedError();

  @override
  HuariMessage establishSafeConnectionIntrMsg(Uint8List bytes) =>
      throw UnimplementedError();

  @override
  HuariMessage get getProductModelIntrMsg => throw UnimplementedError();

  @override
  HuariMessage get getSnIntrMsg => throw UnimplementedError();

  @override
  HuariMessage getFirmwareVersionIntrMsg({
    int? targetDevice,
  }) =>
      throw UnimplementedError();

  @override
  HuariMessage closeFileIntrMsg(int targetDevice, int handle) =>
      throw UnimplementedError();

  @override
  HuariMessage deleteFileIntrMsg(int targetDevice, String path) =>
      throw UnimplementedError();

  @override
  HuariMessage openFileIntrMsg(
          int targetDevice, int openFileType, String path) =>
      throw UnimplementedError();

  @override
  HuariMessage readFileInfoIntrMsg(int targetDevice, String path) =>
      throw UnimplementedError();

  @override
  HuariMessage readWriteFileIntrMsg(int targetDevice, int handle, int offset,
          {int? length, Uint8List? data}) =>
      throw UnimplementedError();

  @override
  HuariMessage renameFileIntrMsg(
          int targetDevice, String oldPath, String newPath) =>
      throw UnimplementedError();

  @override
  HuariMessage verifyFileIntrMsg(int targetDevice, int handle, int offset,
          {int? fileSize, int? crc32}) =>
      throw UnimplementedError();

  @override
  HuariMessage getFileListIntrMsg(int targetDevice, int index, int method,
          int depth, String path, String name) =>
      throw UnimplementedError();

  @override
  HuariMessage queryFirmwareUpdateStatusIntrMsg(
    int targetDevice,
  ) =>
      throw UnimplementedError();

  @override
  HuariMessage queryForceFirmwareUpdateStatusIntrMsg({int? targetDevice}) =>
      throw UnimplementedError();

  @override
  HuariMessage startFirmwareUpdateIntrMsg(int targetDevice,
          {bool isStart = true}) =>
      throw UnimplementedError();

  @override
  HuariMessage startForceFirmwareUpdateIntrMsg(int targetDevice,
          int forceUpgradeStatus, int lowVersion, int highVersion) =>
      throw UnimplementedError();

  @override
  HuariMessage clearFirmwareUpdateStatusIntrMsg(
    int forceUpgradeStatus,
    int lowVersion,
    int highVersion, {
    int? targetDevice,
  }) =>
      throw UnimplementedError();
}
